package com.meal.base.test.DesignMode.template;

/**
 * @program: meal->PM
 * @description: 项目管理
 * @author: yangzhanghui
 * @create: 2020-04-03 21:02
 **/
public abstract class PM {
    //定义需要执行的方法
    protected abstract void analyze();//需求分析

    protected abstract void design();//设计

    protected abstract void develop();//开发

    protected abstract boolean test();//测试

    protected abstract void release();//发布

    //定义方法执行的顺序及逻辑
    protected final void kickoff() {
        analyze();
        design();
        do {
            develop();
        } while (!test());//如果测试失败，则继续开发改Bug。
        release();
    }
}